[INFO] fetching crate display_utils 0.4.0...
[INFO] fixing display_utils-0.4.0 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-1
[INFO] extracting crate display_utils 0.4.0 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate display_utils 0.4.0
[INFO] finished tweaking crates.io crate display_utils 0.4.0
[INFO] tweaked toml for crates.io crate display_utils 0.4.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate display_utils 0.4.0 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 2c585844446282f6ee87e4bd336b768e02dac9a8e8f77f8e0aa238eb3967c45a
[INFO] running `Command { std: "docker" "start" "2c585844446282f6ee87e4bd336b768e02dac9a8e8f77f8e0aa238eb3967c45a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2c585844446282f6ee87e4bd336b768e02dac9a8e8f77f8e0aa238eb3967c45a" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2c585844446282f6ee87e4bd336b768e02dac9a8e8f77f8e0aa238eb3967c45a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2c585844446282f6ee87e4bd336b768e02dac9a8e8f77f8e0aa238eb3967c45a" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr]     Checking display_utils v0.4.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.40s
[INFO] [stderr] crater-edition-check: display_utils v0.4.0 (/opt/rustwide/workdir) updating edition from 2018 to 2021
[INFO] [stderr]     Checking display_utils v0.4.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:123:2
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub fn unicode_block_bar(max_length: usize, proportion: f32) -> UnicodeBlockBar {
[INFO] [stdout]     | ------------------------------------------------------------------------------- move the `impl` block outside of this function `unicode_block_bar`
[INFO] [stdout] ...
[INFO] [stdout] 123 |     impl core::fmt::Display for UnicodeBlockBar {
[INFO] [stdout]     |     ^^^^^------------------^^^^^---------------
[INFO] [stdout]     |          |                      |
[INFO] [stdout]     |          |                      `UnicodeBlockBar` is not local
[INFO] [stdout]     |          `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:205:2
[INFO] [stdout]     |
[INFO] [stdout] 194 | / pub fn vertical_unicode_block_bars<I>(
[INFO] [stdout] 195 | |     max_height: usize,
[INFO] [stdout] 196 | |     proportions: I,
[INFO] [stdout] 197 | | ) -> VerticalUnicodeBlockBars<I::IntoIter>
[INFO] [stdout] 198 | | where
[INFO] [stdout] 199 | |     I: IntoIterator<Item = f32>,
[INFO] [stdout] 200 | |     I::IntoIter: Clone,
[INFO] [stdout]     | |_______________________- move the `impl` block outside of this function `vertical_unicode_block_bars`
[INFO] [stdout] ...
[INFO] [stdout] 205 |       impl<I: Iterator<Item = f32> + Clone> core::fmt::Display for VerticalUnicodeBlockBars<I> {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^------------------------^^^
[INFO] [stdout]     |                                             |                      |
[INFO] [stdout]     |                                             |                      `VerticalUnicodeBlockBars` is not local
[INFO] [stdout]     |                                             `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:264:2
[INFO] [stdout]     |
[INFO] [stdout] 257 | / pub fn join<T, I, J>(iterator: I, joiner: J) -> Join<I::IntoIter, J>
[INFO] [stdout] 258 | | where
[INFO] [stdout] 259 | |     T: core::fmt::Display,
[INFO] [stdout] 260 | |     I: IntoIterator<Item = T>,
[INFO] [stdout] 261 | |     I::IntoIter: Clone,
[INFO] [stdout] 262 | |     J: core::fmt::Display,
[INFO] [stdout]     | |__________________________- move the `impl` block outside of this function `join`
[INFO] [stdout] 263 |   {
[INFO] [stdout] 264 |       impl<T, I, J> core::fmt::Display for Join<I, J>
[INFO] [stdout]     |       ^^^^^^^^^^^^^^------------------^^^^^----^^^^^^
[INFO] [stdout]     |                     |                      |
[INFO] [stdout]     |                     |                      `Join` is not local
[INFO] [stdout]     |                     `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:321:2
[INFO] [stdout]     |
[INFO] [stdout] 314 | / pub fn join_format<I, J, C>(iterator: I, joiner: J, callback: C) -> JoinFormat<I::IntoIter, J, C>
[INFO] [stdout] 315 | | where
[INFO] [stdout] 316 | |     I: IntoIterator,
[INFO] [stdout] 317 | |     I::IntoIter: Clone,
[INFO] [stdout] 318 | |     J: core::fmt::Display,
[INFO] [stdout] 319 | |     C: Fn(I::Item, &mut core::fmt::Formatter) -> core::fmt::Result,
[INFO] [stdout]     | |___________________________________________________________________- move the `impl` block outside of this function `join_format`
[INFO] [stdout] 320 |   {
[INFO] [stdout] 321 |       impl<I, J, C> core::fmt::Display for JoinFormat<I, J, C>
[INFO] [stdout]     |       ^^^^^^^^^^^^^^------------------^^^^^----------^^^^^^^^^
[INFO] [stdout]     |                     |                      |
[INFO] [stdout]     |                     |                      `JoinFormat` is not local
[INFO] [stdout]     |                     `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:368:2
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub fn repeat<T: core::fmt::Display>(token: T, times: usize) -> Repeat<T> {
[INFO] [stdout]     | ------------------------------------------------------------------------- move the `impl` block outside of this function `repeat`
[INFO] [stdout] 368 |     impl<T: core::fmt::Display> core::fmt::Display for Repeat<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^------^^^
[INFO] [stdout]     |                                 |                      |
[INFO] [stdout]     |                                 |                      `Repeat` is not local
[INFO] [stdout]     |                                 `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:411:2
[INFO] [stdout]     |
[INFO] [stdout] 397 | pub fn lowercase<T: core::fmt::Display>(object: T) -> Lowercase<T> {
[INFO] [stdout]     | ------------------------------------------------------------------ move the `impl` block outside of this function `lowercase`
[INFO] [stdout] ...
[INFO] [stdout] 411 |     impl<T: core::fmt::Display> core::fmt::Display for Lowercase<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^---------^^^
[INFO] [stdout]     |                                 |                      |
[INFO] [stdout]     |                                 |                      `Lowercase` is not local
[INFO] [stdout]     |                                 `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:452:2
[INFO] [stdout]     |
[INFO] [stdout] 438 | pub fn uppercase<T: core::fmt::Display>(object: T) -> Uppercase<T> {
[INFO] [stdout]     | ------------------------------------------------------------------ move the `impl` block outside of this function `uppercase`
[INFO] [stdout] ...
[INFO] [stdout] 452 |     impl<T: core::fmt::Display> core::fmt::Display for Uppercase<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^---------^^^
[INFO] [stdout]     |                                 |                      |
[INFO] [stdout]     |                                 |                      `Uppercase` is not local
[INFO] [stdout]     |                                 `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:482:2
[INFO] [stdout]     |
[INFO] [stdout] 481 | pub fn replace<'a, T: core::fmt::Display>(source: &'a str, from: &'a str, to: T) -> Replace<'a, T> {
[INFO] [stdout]     | -------------------------------------------------------------------------------------------------- move the `impl` block outside of this function `replace`
[INFO] [stdout] 482 |     impl<T: core::fmt::Display> core::fmt::Display for Replace<'_, T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^-------^^^^^^^
[INFO] [stdout]     |                                 |                      |
[INFO] [stdout]     |                                 |                      `Replace` is not local
[INFO] [stdout]     |                                 `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:526:2
[INFO] [stdout]     |
[INFO] [stdout] 522 | / pub fn replace_n<'a, T>(source: &'a str, from: &'a str, to: T, n: usize) -> ReplaceN<'a, T>
[INFO] [stdout] 523 | | where
[INFO] [stdout] 524 | |     T: core::fmt::Display,
[INFO] [stdout]     | |__________________________- move the `impl` block outside of this function `replace_n`
[INFO] [stdout] 525 |   {
[INFO] [stdout] 526 |       impl<T: core::fmt::Display> core::fmt::Display for ReplaceN<'_, T> {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^--------^^^^^^^
[INFO] [stdout]     |                                   |                      |
[INFO] [stdout]     |                                   |                      `ReplaceN` is not local
[INFO] [stdout]     |                                   `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:580:2
[INFO] [stdout]     |
[INFO] [stdout] 574 | / pub fn concat<I>(iterator: I) -> Concat<I::IntoIter>
[INFO] [stdout] 575 | | where
[INFO] [stdout] 576 | |     I: IntoIterator,
[INFO] [stdout] 577 | |     I::Item: core::fmt::Display,
[INFO] [stdout] 578 | |     I::IntoIter: Clone,
[INFO] [stdout]     | |_______________________- move the `impl` block outside of this function `concat`
[INFO] [stdout] 579 |   {
[INFO] [stdout] 580 |       impl<I> core::fmt::Display for Concat<I>
[INFO] [stdout]     |       ^^^^^^^^------------------^^^^^------^^^
[INFO] [stdout]     |               |                      |
[INFO] [stdout]     |               |                      `Concat` is not local
[INFO] [stdout]     |               `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:785:2
[INFO] [stdout]     |
[INFO] [stdout] 749 | / pub fn slice<T, R>(object: T, range: R) -> DisplaySlice<T>
[INFO] [stdout] 750 | | where
[INFO] [stdout] 751 | |     T: core::fmt::Display,
[INFO] [stdout] 752 | |     R: core::ops::RangeBounds<usize>,
[INFO] [stdout]     | |_____________________________________- move the `impl` block outside of this function `slice`
[INFO] [stdout] ...
[INFO] [stdout] 785 |       impl<T: core::fmt::Display> core::fmt::Display for DisplaySlice<T> {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^------------^^^
[INFO] [stdout]     |                                   |                      |
[INFO] [stdout]     |                                   |                      `DisplaySlice` is not local
[INFO] [stdout]     |                                   `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:919:2
[INFO] [stdout]     |
[INFO] [stdout] 918 | pub fn ordinal(number: i32) -> Ordinal {
[INFO] [stdout]     | -------------------------------------- move the `impl` block outside of this function `ordinal`
[INFO] [stdout] 919 |     impl core::fmt::Display for Ordinal {
[INFO] [stdout]     |     ^^^^^------------------^^^^^-------
[INFO] [stdout]     |          |                      |
[INFO] [stdout]     |          |                      `Ordinal` is not local
[INFO] [stdout]     |          `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:123:2
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub fn unicode_block_bar(max_length: usize, proportion: f32) -> UnicodeBlockBar {
[INFO] [stdout]     | ------------------------------------------------------------------------------- move the `impl` block outside of this function `unicode_block_bar`
[INFO] [stdout] ...
[INFO] [stdout] 123 |     impl core::fmt::Display for UnicodeBlockBar {
[INFO] [stdout]     |     ^^^^^------------------^^^^^---------------
[INFO] [stdout]     |          |                      |
[INFO] [stdout]     |          |                      `UnicodeBlockBar` is not local
[INFO] [stdout]     |          `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:205:2
[INFO] [stdout]     |
[INFO] [stdout] 194 | / pub fn vertical_unicode_block_bars<I>(
[INFO] [stdout] 195 | |     max_height: usize,
[INFO] [stdout] 196 | |     proportions: I,
[INFO] [stdout] 197 | | ) -> VerticalUnicodeBlockBars<I::IntoIter>
[INFO] [stdout] 198 | | where
[INFO] [stdout] 199 | |     I: IntoIterator<Item = f32>,
[INFO] [stdout] 200 | |     I::IntoIter: Clone,
[INFO] [stdout]     | |_______________________- move the `impl` block outside of this function `vertical_unicode_block_bars`
[INFO] [stdout] ...
[INFO] [stdout] 205 |       impl<I: Iterator<Item = f32> + Clone> core::fmt::Display for VerticalUnicodeBlockBars<I> {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^------------------------^^^
[INFO] [stdout]     |                                             |                      |
[INFO] [stdout]     |                                             |                      `VerticalUnicodeBlockBars` is not local
[INFO] [stdout]     |                                             `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:264:2
[INFO] [stdout]     |
[INFO] [stdout] 257 | / pub fn join<T, I, J>(iterator: I, joiner: J) -> Join<I::IntoIter, J>
[INFO] [stdout] 258 | | where
[INFO] [stdout] 259 | |     T: core::fmt::Display,
[INFO] [stdout] 260 | |     I: IntoIterator<Item = T>,
[INFO] [stdout] 261 | |     I::IntoIter: Clone,
[INFO] [stdout] 262 | |     J: core::fmt::Display,
[INFO] [stdout]     | |__________________________- move the `impl` block outside of this function `join`
[INFO] [stdout] 263 |   {
[INFO] [stdout] 264 |       impl<T, I, J> core::fmt::Display for Join<I, J>
[INFO] [stdout]     |       ^^^^^^^^^^^^^^------------------^^^^^----^^^^^^
[INFO] [stdout]     |                     |                      |
[INFO] [stdout]     |                     |                      `Join` is not local
[INFO] [stdout]     |                     `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:321:2
[INFO] [stdout]     |
[INFO] [stdout] 314 | / pub fn join_format<I, J, C>(iterator: I, joiner: J, callback: C) -> JoinFormat<I::IntoIter, J, C>
[INFO] [stdout] 315 | | where
[INFO] [stdout] 316 | |     I: IntoIterator,
[INFO] [stdout] 317 | |     I::IntoIter: Clone,
[INFO] [stdout] 318 | |     J: core::fmt::Display,
[INFO] [stdout] 319 | |     C: Fn(I::Item, &mut core::fmt::Formatter) -> core::fmt::Result,
[INFO] [stdout]     | |___________________________________________________________________- move the `impl` block outside of this function `join_format`
[INFO] [stdout] 320 |   {
[INFO] [stdout] 321 |       impl<I, J, C> core::fmt::Display for JoinFormat<I, J, C>
[INFO] [stdout]     |       ^^^^^^^^^^^^^^------------------^^^^^----------^^^^^^^^^
[INFO] [stdout]     |                     |                      |
[INFO] [stdout]     |                     |                      `JoinFormat` is not local
[INFO] [stdout]     |                     `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:368:2
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub fn repeat<T: core::fmt::Display>(token: T, times: usize) -> Repeat<T> {
[INFO] [stdout]     | ------------------------------------------------------------------------- move the `impl` block outside of this function `repeat`
[INFO] [stdout] 368 |     impl<T: core::fmt::Display> core::fmt::Display for Repeat<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^------^^^
[INFO] [stdout]     |                                 |                      |
[INFO] [stdout]     |                                 |                      `Repeat` is not local
[INFO] [stdout]     |                                 `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:411:2
[INFO] [stdout]     |
[INFO] [stdout] 397 | pub fn lowercase<T: core::fmt::Display>(object: T) -> Lowercase<T> {
[INFO] [stdout]     | ------------------------------------------------------------------ move the `impl` block outside of this function `lowercase`
[INFO] [stdout] ...
[INFO] [stdout] 411 |     impl<T: core::fmt::Display> core::fmt::Display for Lowercase<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^---------^^^
[INFO] [stdout]     |                                 |                      |
[INFO] [stdout]     |                                 |                      `Lowercase` is not local
[INFO] [stdout]     |                                 `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:452:2
[INFO] [stdout]     |
[INFO] [stdout] 438 | pub fn uppercase<T: core::fmt::Display>(object: T) -> Uppercase<T> {
[INFO] [stdout]     | ------------------------------------------------------------------ move the `impl` block outside of this function `uppercase`
[INFO] [stdout] ...
[INFO] [stdout] 452 |     impl<T: core::fmt::Display> core::fmt::Display for Uppercase<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^---------^^^
[INFO] [stdout]     |                                 |                      |
[INFO] [stdout]     |                                 |                      `Uppercase` is not local
[INFO] [stdout]     |                                 `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:482:2
[INFO] [stdout]     |
[INFO] [stdout] 481 | pub fn replace<'a, T: core::fmt::Display>(source: &'a str, from: &'a str, to: T) -> Replace<'a, T> {
[INFO] [stdout]     | -------------------------------------------------------------------------------------------------- move the `impl` block outside of this function `replace`
[INFO] [stdout] 482 |     impl<T: core::fmt::Display> core::fmt::Display for Replace<'_, T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^-------^^^^^^^
[INFO] [stdout]     |                                 |                      |
[INFO] [stdout]     |                                 |                      `Replace` is not local
[INFO] [stdout]     |                                 `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:526:2
[INFO] [stdout]     |
[INFO] [stdout] 522 | / pub fn replace_n<'a, T>(source: &'a str, from: &'a str, to: T, n: usize) -> ReplaceN<'a, T>
[INFO] [stdout] 523 | | where
[INFO] [stdout] 524 | |     T: core::fmt::Display,
[INFO] [stdout]     | |__________________________- move the `impl` block outside of this function `replace_n`
[INFO] [stdout] 525 |   {
[INFO] [stdout] 526 |       impl<T: core::fmt::Display> core::fmt::Display for ReplaceN<'_, T> {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^--------^^^^^^^
[INFO] [stdout]     |                                   |                      |
[INFO] [stdout]     |                                   |                      `ReplaceN` is not local
[INFO] [stdout]     |                                   `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:580:2
[INFO] [stdout]     |
[INFO] [stdout] 574 | / pub fn concat<I>(iterator: I) -> Concat<I::IntoIter>
[INFO] [stdout] 575 | | where
[INFO] [stdout] 576 | |     I: IntoIterator,
[INFO] [stdout] 577 | |     I::Item: core::fmt::Display,
[INFO] [stdout] 578 | |     I::IntoIter: Clone,
[INFO] [stdout]     | |_______________________- move the `impl` block outside of this function `concat`
[INFO] [stdout] 579 |   {
[INFO] [stdout] 580 |       impl<I> core::fmt::Display for Concat<I>
[INFO] [stdout]     |       ^^^^^^^^------------------^^^^^------^^^
[INFO] [stdout]     |               |                      |
[INFO] [stdout]     |               |                      `Concat` is not local
[INFO] [stdout]     |               `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.72s
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:785:2
[INFO] [stdout]     |
[INFO] [stdout] 749 | / pub fn slice<T, R>(object: T, range: R) -> DisplaySlice<T>
[INFO] [stdout] 750 | | where
[INFO] [stdout] 751 | |     T: core::fmt::Display,
[INFO] [stdout] 752 | |     R: core::ops::RangeBounds<usize>,
[INFO] [stdout]     | |_____________________________________- move the `impl` block outside of this function `slice`
[INFO] [stdout] ...
[INFO] [stdout] 785 |       impl<T: core::fmt::Display> core::fmt::Display for DisplaySlice<T> {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^------------^^^
[INFO] [stdout]     |                                   |                      |
[INFO] [stdout]     |                                   |                      `DisplaySlice` is not local
[INFO] [stdout]     |                                   `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:919:2
[INFO] [stdout]     |
[INFO] [stdout] 918 | pub fn ordinal(number: i32) -> Ordinal {
[INFO] [stdout]     | -------------------------------------- move the `impl` block outside of this function `ordinal`
[INFO] [stdout] 919 |     impl core::fmt::Display for Ordinal {
[INFO] [stdout]     |     ^^^^^------------------^^^^^-------
[INFO] [stdout]     |          |                      |
[INFO] [stdout]     |          |                      `Ordinal` is not local
[INFO] [stdout]     |          `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr]     Checking display_utils v0.4.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/lib.rs (3 fixes)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.39s
[INFO] [stderr] crater-edition-check: display_utils v0.4.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking display_utils v0.4.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:123:2
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub fn unicode_block_bar(max_length: usize, proportion: f32) -> UnicodeBlockBar {
[INFO] [stdout]     | ------------------------------------------------------------------------------- move the `impl` block outside of this function `unicode_block_bar`
[INFO] [stdout] ...
[INFO] [stdout] 123 |     impl core::fmt::Display for UnicodeBlockBar {
[INFO] [stdout]     |     ^^^^^------------------^^^^^---------------
[INFO] [stdout]     |          |                      |
[INFO] [stdout]     |          |                      `UnicodeBlockBar` is not local
[INFO] [stdout]     |          `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:205:2
[INFO] [stdout]     |
[INFO] [stdout] 194 | / pub fn vertical_unicode_block_bars<I>(
[INFO] [stdout] 195 | |     max_height: usize,
[INFO] [stdout] 196 | |     proportions: I,
[INFO] [stdout] 197 | | ) -> VerticalUnicodeBlockBars<I::IntoIter>
[INFO] [stdout] 198 | | where
[INFO] [stdout] 199 | |     I: IntoIterator<Item = f32>,
[INFO] [stdout] 200 | |     I::IntoIter: Clone,
[INFO] [stdout]     | |_______________________- move the `impl` block outside of this function `vertical_unicode_block_bars`
[INFO] [stdout] ...
[INFO] [stdout] 205 |       impl<I: Iterator<Item = f32> + Clone> core::fmt::Display for VerticalUnicodeBlockBars<I> {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^------------------------^^^
[INFO] [stdout]     |                                             |                      |
[INFO] [stdout]     |                                             |                      `VerticalUnicodeBlockBars` is not local
[INFO] [stdout]     |                                             `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:264:2
[INFO] [stdout]     |
[INFO] [stdout] 257 | / pub fn join<T, I, J>(iterator: I, joiner: J) -> Join<I::IntoIter, J>
[INFO] [stdout] 258 | | where
[INFO] [stdout] 259 | |     T: core::fmt::Display,
[INFO] [stdout] 260 | |     I: IntoIterator<Item = T>,
[INFO] [stdout] 261 | |     I::IntoIter: Clone,
[INFO] [stdout] 262 | |     J: core::fmt::Display,
[INFO] [stdout]     | |__________________________- move the `impl` block outside of this function `join`
[INFO] [stdout] 263 |   {
[INFO] [stdout] 264 |       impl<T, I, J> core::fmt::Display for Join<I, J>
[INFO] [stdout]     |       ^^^^^^^^^^^^^^------------------^^^^^----^^^^^^
[INFO] [stdout]     |                     |                      |
[INFO] [stdout]     |                     |                      `Join` is not local
[INFO] [stdout]     |                     `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:321:2
[INFO] [stdout]     |
[INFO] [stdout] 314 | / pub fn join_format<I, J, C>(iterator: I, joiner: J, callback: C) -> JoinFormat<I::IntoIter, J, C>
[INFO] [stdout] 315 | | where
[INFO] [stdout] 316 | |     I: IntoIterator,
[INFO] [stdout] 317 | |     I::IntoIter: Clone,
[INFO] [stdout] 318 | |     J: core::fmt::Display,
[INFO] [stdout] 319 | |     C: Fn(I::Item, &mut core::fmt::Formatter) -> core::fmt::Result,
[INFO] [stdout]     | |___________________________________________________________________- move the `impl` block outside of this function `join_format`
[INFO] [stdout] 320 |   {
[INFO] [stdout] 321 |       impl<I, J, C> core::fmt::Display for JoinFormat<I, J, C>
[INFO] [stdout]     |       ^^^^^^^^^^^^^^------------------^^^^^----------^^^^^^^^^
[INFO] [stdout]     |                     |                      |
[INFO] [stdout]     |                     |                      `JoinFormat` is not local
[INFO] [stdout]     |                     `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:368:2
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub fn repeat<T: core::fmt::Display>(token: T, times: usize) -> Repeat<T> {
[INFO] [stdout]     | ------------------------------------------------------------------------- move the `impl` block outside of this function `repeat`
[INFO] [stdout] 368 |     impl<T: core::fmt::Display> core::fmt::Display for Repeat<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^------^^^
[INFO] [stdout]     |                                 |                      |
[INFO] [stdout]     |                                 |                      `Repeat` is not local
[INFO] [stdout]     |                                 `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:411:2
[INFO] [stdout]     |
[INFO] [stdout] 397 | pub fn lowercase<T: core::fmt::Display>(object: T) -> Lowercase<T> {
[INFO] [stdout]     | ------------------------------------------------------------------ move the `impl` block outside of this function `lowercase`
[INFO] [stdout] ...
[INFO] [stdout] 411 |     impl<T: core::fmt::Display> core::fmt::Display for Lowercase<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^---------^^^
[INFO] [stdout]     |                                 |                      |
[INFO] [stdout]     |                                 |                      `Lowercase` is not local
[INFO] [stdout]     |                                 `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:452:2
[INFO] [stdout]     |
[INFO] [stdout] 438 | pub fn uppercase<T: core::fmt::Display>(object: T) -> Uppercase<T> {
[INFO] [stdout]     | ------------------------------------------------------------------ move the `impl` block outside of this function `uppercase`
[INFO] [stdout] ...
[INFO] [stdout] 452 |     impl<T: core::fmt::Display> core::fmt::Display for Uppercase<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^---------^^^
[INFO] [stdout]     |                                 |                      |
[INFO] [stdout]     |                                 |                      `Uppercase` is not local
[INFO] [stdout]     |                                 `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:482:2
[INFO] [stdout]     |
[INFO] [stdout] 481 | pub fn replace<'a, T: core::fmt::Display>(source: &'a str, from: &'a str, to: T) -> Replace<'a, T> {
[INFO] [stdout]     | -------------------------------------------------------------------------------------------------- move the `impl` block outside of this function `replace`
[INFO] [stdout] 482 |     impl<T: core::fmt::Display> core::fmt::Display for Replace<'_, T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^-------^^^^^^^
[INFO] [stdout]     |                                 |                      |
[INFO] [stdout]     |                                 |                      `Replace` is not local
[INFO] [stdout]     |                                 `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:526:2
[INFO] [stdout]     |
[INFO] [stdout] 522 | / pub fn replace_n<'a, T>(source: &'a str, from: &'a str, to: T, n: usize) -> ReplaceN<'a, T>
[INFO] [stdout] 523 | | where
[INFO] [stdout] 524 | |     T: core::fmt::Display,
[INFO] [stdout]     | |__________________________- move the `impl` block outside of this function `replace_n`
[INFO] [stdout] 525 |   {
[INFO] [stdout] 526 |       impl<T: core::fmt::Display> core::fmt::Display for ReplaceN<'_, T> {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^--------^^^^^^^
[INFO] [stdout]     |                                   |                      |
[INFO] [stdout]     |                                   |                      `ReplaceN` is not local
[INFO] [stdout]     |                                   `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:580:2
[INFO] [stdout]     |
[INFO] [stdout] 574 | / pub fn concat<I>(iterator: I) -> Concat<I::IntoIter>
[INFO] [stdout] 575 | | where
[INFO] [stdout] 576 | |     I: IntoIterator,
[INFO] [stdout] 577 | |     I::Item: core::fmt::Display,
[INFO] [stdout] 578 | |     I::IntoIter: Clone,
[INFO] [stdout]     | |_______________________- move the `impl` block outside of this function `concat`
[INFO] [stdout] 579 |   {
[INFO] [stdout] 580 |       impl<I> core::fmt::Display for Concat<I>
[INFO] [stdout]     |       ^^^^^^^^------------------^^^^^------^^^
[INFO] [stdout]     |               |                      |
[INFO] [stdout]     |               |                      `Concat` is not local
[INFO] [stdout]     |               `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:785:2
[INFO] [stdout]     |
[INFO] [stdout] 749 | / pub fn slice<T, R>(object: T, range: R) -> DisplaySlice<T>
[INFO] [stdout] 750 | | where
[INFO] [stdout] 751 | |     T: core::fmt::Display,
[INFO] [stdout] 752 | |     R: core::ops::RangeBounds<usize>,
[INFO] [stdout]     | |_____________________________________- move the `impl` block outside of this function `slice`
[INFO] [stdout] ...
[INFO] [stdout] 785 |       impl<T: core::fmt::Display> core::fmt::Display for DisplaySlice<T> {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^------------^^^
[INFO] [stdout]     |                                   |                      |
[INFO] [stdout]     |                                   |                      `DisplaySlice` is not local
[INFO] [stdout]     |                                   `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:919:2
[INFO] [stdout]     |
[INFO] [stdout] 918 | pub fn ordinal(number: i32) -> Ordinal {
[INFO] [stdout]     | -------------------------------------- move the `impl` block outside of this function `ordinal`
[INFO] [stdout] 919 |     impl core::fmt::Display for Ordinal {
[INFO] [stdout]     |     ^^^^^------------------^^^^^-------
[INFO] [stdout]     |          |                      |
[INFO] [stdout]     |          |                      `Ordinal` is not local
[INFO] [stdout]     |          `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:123:2
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub fn unicode_block_bar(max_length: usize, proportion: f32) -> UnicodeBlockBar {
[INFO] [stdout]     | ------------------------------------------------------------------------------- move the `impl` block outside of this function `unicode_block_bar`
[INFO] [stdout] ...
[INFO] [stdout] 123 |     impl core::fmt::Display for UnicodeBlockBar {
[INFO] [stdout]     |     ^^^^^------------------^^^^^---------------
[INFO] [stdout]     |          |                      |
[INFO] [stdout]     |          |                      `UnicodeBlockBar` is not local
[INFO] [stdout]     |          `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:205:2
[INFO] [stdout]     |
[INFO] [stdout] 194 | / pub fn vertical_unicode_block_bars<I>(
[INFO] [stdout] 195 | |     max_height: usize,
[INFO] [stdout] 196 | |     proportions: I,
[INFO] [stdout] 197 | | ) -> VerticalUnicodeBlockBars<I::IntoIter>
[INFO] [stdout] 198 | | where
[INFO] [stdout] 199 | |     I: IntoIterator<Item = f32>,
[INFO] [stdout] 200 | |     I::IntoIter: Clone,
[INFO] [stdout]     | |_______________________- move the `impl` block outside of this function `vertical_unicode_block_bars`
[INFO] [stdout] ...
[INFO] [stdout] 205 |       impl<I: Iterator<Item = f32> + Clone> core::fmt::Display for VerticalUnicodeBlockBars<I> {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^------------------------^^^
[INFO] [stdout]     |                                             |                      |
[INFO] [stdout]     |                                             |                      `VerticalUnicodeBlockBars` is not local
[INFO] [stdout]     |                                             `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:264:2
[INFO] [stdout]     |
[INFO] [stdout] 257 | / pub fn join<T, I, J>(iterator: I, joiner: J) -> Join<I::IntoIter, J>
[INFO] [stdout] 258 | | where
[INFO] [stdout] 259 | |     T: core::fmt::Display,
[INFO] [stdout] 260 | |     I: IntoIterator<Item = T>,
[INFO] [stdout] 261 | |     I::IntoIter: Clone,
[INFO] [stdout] 262 | |     J: core::fmt::Display,
[INFO] [stdout]     | |__________________________- move the `impl` block outside of this function `join`
[INFO] [stdout] 263 |   {
[INFO] [stdout] 264 |       impl<T, I, J> core::fmt::Display for Join<I, J>
[INFO] [stdout]     |       ^^^^^^^^^^^^^^------------------^^^^^----^^^^^^
[INFO] [stdout]     |                     |                      |
[INFO] [stdout]     |                     |                      `Join` is not local
[INFO] [stdout]     |                     `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:321:2
[INFO] [stdout]     |
[INFO] [stdout] 314 | / pub fn join_format<I, J, C>(iterator: I, joiner: J, callback: C) -> JoinFormat<I::IntoIter, J, C>
[INFO] [stdout] 315 | | where
[INFO] [stdout] 316 | |     I: IntoIterator,
[INFO] [stdout] 317 | |     I::IntoIter: Clone,
[INFO] [stdout] 318 | |     J: core::fmt::Display,
[INFO] [stdout] 319 | |     C: Fn(I::Item, &mut core::fmt::Formatter) -> core::fmt::Result,
[INFO] [stdout]     | |___________________________________________________________________- move the `impl` block outside of this function `join_format`
[INFO] [stdout] 320 |   {
[INFO] [stdout] 321 |       impl<I, J, C> core::fmt::Display for JoinFormat<I, J, C>
[INFO] [stdout]     |       ^^^^^^^^^^^^^^------------------^^^^^----------^^^^^^^^^
[INFO] [stdout]     |                     |                      |
[INFO] [stdout]     |                     |                      `JoinFormat` is not local
[INFO] [stdout]     |                     `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:368:2
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub fn repeat<T: core::fmt::Display>(token: T, times: usize) -> Repeat<T> {
[INFO] [stdout]     | ------------------------------------------------------------------------- move the `impl` block outside of this function `repeat`
[INFO] [stdout] 368 |     impl<T: core::fmt::Display> core::fmt::Display for Repeat<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^------^^^
[INFO] [stdout]     |                                 |                      |
[INFO] [stdout]     |                                 |                      `Repeat` is not local
[INFO] [stdout]     |                                 `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:411:2
[INFO] [stdout]     |
[INFO] [stdout] 397 | pub fn lowercase<T: core::fmt::Display>(object: T) -> Lowercase<T> {
[INFO] [stdout]     | ------------------------------------------------------------------ move the `impl` block outside of this function `lowercase`
[INFO] [stdout] ...
[INFO] [stdout] 411 |     impl<T: core::fmt::Display> core::fmt::Display for Lowercase<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^---------^^^
[INFO] [stdout]     |                                 |                      |
[INFO] [stdout]     |                                 |                      `Lowercase` is not local
[INFO] [stdout]     |                                 `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:452:2
[INFO] [stdout]     |
[INFO] [stdout] 438 | pub fn uppercase<T: core::fmt::Display>(object: T) -> Uppercase<T> {
[INFO] [stdout]     | ------------------------------------------------------------------ move the `impl` block outside of this function `uppercase`
[INFO] [stdout] ...
[INFO] [stdout] 452 |     impl<T: core::fmt::Display> core::fmt::Display for Uppercase<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^---------^^^
[INFO] [stdout]     |                                 |                      |
[INFO] [stdout]     |                                 |                      `Uppercase` is not local
[INFO] [stdout]     |                                 `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:482:2
[INFO] [stdout]     |
[INFO] [stdout] 481 | pub fn replace<'a, T: core::fmt::Display>(source: &'a str, from: &'a str, to: T) -> Replace<'a, T> {
[INFO] [stdout]     | -------------------------------------------------------------------------------------------------- move the `impl` block outside of this function `replace`
[INFO] [stdout] 482 |     impl<T: core::fmt::Display> core::fmt::Display for Replace<'_, T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^-------^^^^^^^
[INFO] [stdout]     |                                 |                      |
[INFO] [stdout]     |                                 |                      `Replace` is not local
[INFO] [stdout]     |                                 `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:526:2
[INFO] [stdout]     |
[INFO] [stdout] 522 | / pub fn replace_n<'a, T>(source: &'a str, from: &'a str, to: T, n: usize) -> ReplaceN<'a, T>
[INFO] [stdout] 523 | | where
[INFO] [stdout] 524 | |     T: core::fmt::Display,
[INFO] [stdout]     | |__________________________- move the `impl` block outside of this function `replace_n`
[INFO] [stdout] 525 |   {
[INFO] [stdout] 526 |       impl<T: core::fmt::Display> core::fmt::Display for ReplaceN<'_, T> {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^--------^^^^^^^
[INFO] [stdout]     |                                   |                      |
[INFO] [stdout]     |                                   |                      `ReplaceN` is not local
[INFO] [stdout]     |                                   `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:580:2
[INFO] [stdout]     |
[INFO] [stdout] 574 | / pub fn concat<I>(iterator: I) -> Concat<I::IntoIter>
[INFO] [stdout] 575 | | where
[INFO] [stdout] 576 | |     I: IntoIterator,
[INFO] [stdout] 577 | |     I::Item: core::fmt::Display,
[INFO] [stdout] 578 | |     I::IntoIter: Clone,
[INFO] [stdout]     | |_______________________- move the `impl` block outside of this function `concat`
[INFO] [stdout] 579 |   {
[INFO] [stdout] 580 |       impl<I> core::fmt::Display for Concat<I>
[INFO] [stdout]     |       ^^^^^^^^------------------^^^^^------^^^
[INFO] [stdout]     |               |                      |
[INFO] [stdout]     |               |                      `Concat` is not local
[INFO] [stdout]     |               `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:785:2
[INFO] [stdout]     |
[INFO] [stdout] 749 | / pub fn slice<T, R>(object: T, range: R) -> DisplaySlice<T>
[INFO] [stdout] 750 | | where
[INFO] [stdout] 751 | |     T: core::fmt::Display,
[INFO] [stdout] 752 | |     R: core::ops::RangeBounds<usize>,
[INFO] [stdout]     | |_____________________________________- move the `impl` block outside of this function `slice`
[INFO] [stdout] ...
[INFO] [stdout] 785 |       impl<T: core::fmt::Display> core::fmt::Display for DisplaySlice<T> {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^------------^^^
[INFO] [stdout]     |                                   |                      |
[INFO] [stdout]     |                                   |                      `DisplaySlice` is not local
[INFO] [stdout]     |                                   `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:919:2
[INFO] [stdout]     |
[INFO] [stdout] 918 | pub fn ordinal(number: i32) -> Ordinal {
[INFO] [stdout]     | -------------------------------------- move the `impl` block outside of this function `ordinal`
[INFO] [stdout] 919 |     impl core::fmt::Display for Ordinal {
[INFO] [stdout]     |     ^^^^^------------------^^^^^-------
[INFO] [stdout]     |          |                      |
[INFO] [stdout]     |          |                      `Ordinal` is not local
[INFO] [stdout]     |          `Display` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.66s
[INFO] [stderr] crater-edition-check all packages now at latest edition
[INFO] [stderr] crater-edition-check: all finished
[INFO] running `Command { std: "docker" "inspect" "2c585844446282f6ee87e4bd336b768e02dac9a8e8f77f8e0aa238eb3967c45a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2c585844446282f6ee87e4bd336b768e02dac9a8e8f77f8e0aa238eb3967c45a", kill_on_drop: false }`
[INFO] [stdout] 2c585844446282f6ee87e4bd336b768e02dac9a8e8f77f8e0aa238eb3967c45a
